String.prototype.split()

您所在的位置:网站首页 object转string js String.prototype.split()

String.prototype.split()

2023-09-03 23:38| 来源: 网络整理| 查看: 265

如果 separator 是一个非空字符串,目标字符串会被所有匹配的 separator 分割,结果中不包括 separator。例如,一个包含制表符分隔值(TSV)的字符串可以通过传递一个制表符作为分隔符来解析,如 myString.split("\t")。如果 separator 包含多个字符,必须找到整个字符序列才能分割。如果 separator 出现在字符串的开头(或结尾),它仍然具有分割的效果,会导致一个空(即零长度)的字符串出现在返回数组的第一个(或最后一个)位置。如果 separator 没有出现在 str 中,返回的数组包含一个元素,其中是整个字符串。

如果 separator 是一个空字符串(""),str 被转换为一个由其 UTF-16 字符组成的数组,形成的字符串的两端没有空字符。

备注: "".split("") 是唯一一种字符串作为 separator 参数传入的生成空数组的方法。

警告: 当空字符串("")被用作分隔符时,字符串不是由用户感知的字符(grapheme cluster)或 unicode 字符(码位)分割,而是由 UTF-16 代码单位分割。这破坏了代理对。请参阅 StackOverflow 上的“How do you get a string to a character array in JavaScript?”。

如果 separator 是一个匹配空字符串的正则表达式,匹配是由 UTF-16 码元(code unit)还是 Unicode 码位(code point)分割,取决于是否设置了 u 标志。

js

"😄😄".split(/(?:)/); // [ "\ud83d", "\ude04", "\ud83d", "\ude04" ] "😄😄".split(/(?:)/u); // [ "😄", "😄" ]

如果 separator 是包含捕获括号的正则表达式,则每次 separator 匹配时,捕获括号的结果(包括任何 undefined 的结果)将被拼接到输出数组中。此行为是由正则表达式对象的 Symbol.split 方法指定的。

如果 separator 是一个具有 Symbol.split 方法的对象,该方法被调用,目标字符串和 limit 作为参数, this 设置为该对象。它的返回值成为 split 的返回值。

任何其他值在作为分隔符(separator)使用之前都将被强制转换为字符串。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3